php收集bing每日美图壁纸获取api分享

2021-12-02
455次阅读
没有评论

时隔一年多,今天下午写了一个采集bing壁纸的api,这个api很简单,我没有保存到本地,而是直接跳转过去的。

API地址:

http://a.zyooo.com/api/bing

打开就自动跳转。

当然也可以保存到本地,弄个监控每天保存一次都是可以的,每天都是可以自动保存美图壁纸,几年之后也有不少图片素材了。不过我暂时用不到就没有写保存功能了。

主要的原因也是bing 的壁纸它不是高清的,我测试的时候发现一张壁纸才300+kb,我都怀疑是我找错了链接,之后审查bing官网发现它的原图就是300多kb。

下面是我的完整代码,在我的api中能完美运行。

<?php 
/**
 * time:2021年12月2日15:23:59
 * author:zyooo.com
 * function:获取bing壁纸每日的美图
 */
header("Content-type: text/html; charset=utf-8");

 
switch ($_REQUEST['type']) {
    case 'js':
        echo '没有写,别调用';
        break;
    case 'json':
        $jsonData = json_decode(returnImage(),true)['imageUrl'];
        $arr2 = ['code'=>'1','msg'=>'ok','imgUrl'=>$jsonData];
        echo returnJson($arr2);
        break;
    default:
        $jsonData = json_decode(returnImage(),true)['imageUrl'];
        header("Location:".$jsonData);
        break;
}

function returnImage(){
    $str=@file_get_contents('https://cn.bing.com/HPImageArchive.aspx?idx=0&n=1');
    $xml = simplexml_load_string($str);
    $imageUrlBase = $xml->image->url;
    $imageUrl = 'https://cn.bing.com'.$imageUrlBase[0];
    $date = ($xml->image->enddate)[0];
    $stringFunction = ($xml->image->copyright)[0];
    $returnData = ['imageUrl'=>$imageUrl,'date'=>$date,'copyright'=>$stringFunction];
    return returnJson($returnData);
}

function returnJson($string){
   return  json_encode($string,JSON_UNESCAPED_SLASHES|JSON_UNESCAPED_UNICODE);
}

演示图片:

php收集bing每日美图壁纸获取api分享

这里返回了json格式的url地址,如果不自己处理就可以直接跳转到我的api,或者用css中背景的格式调用我的api也行。

参数说明我也不写了,因为是摸鱼写的,而且马上快下班了,我该回家做饭了,时间上来不及了。

==========

css调用背景图:

body {
    background-image: url(http://a.zyooo.com/api/bing)
}

type可选择的有  type = json

正文结束
自由书生
版权声明:本站原创文章,由 自由书生 于2021-12-02发表,共计1393字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码